import axios from 'axios'

// 创建axios实例
const api = axios.create({
  baseURL: 'http://47.97.103.151:6060',
  // baseURL: 'http://localhost:8000',
  timeout: 30000,
  headers: {
    'Content-Type': 'application/json'
  }
})

// 响应拦截器
api.interceptors.response.use(
  response => response.data,
  error => {
    console.error('API请求错误:', error)
    return Promise.reject(error)
  }
)

// API接口
export const sessionAPI = {
  // 获取所有会话列表
  getSessions(page = 1, size = 20) {
    return api.get('/ai/sessions', { params: { page, size } })
  },
  
  // 创建新会话
  createSession() {
    return api.post('/ai/sessions')
  },
  
  // 获取指定会话详情
  getSession(sessionId) {
    return api.get(`/ai/sessions/${sessionId}`)
  },
  
  // 更新会话标题
  updateSession(sessionId, title) {
    return api.put(`/ai/sessions/${sessionId}`, { title })
  },
  
  // 删除会话
  deleteSession(sessionId) {
    return api.delete(`/ai/sessions/${sessionId}`)
  },
  
  // 获取会话对话历史
  getConversations(sessionId, page = 1, size = 50) {
    return api.get(`/ai/sessions/${sessionId}/conversations`, { params: { page, size } })
  },
  
  // 获取会话统计信息
  getStatistics(sessionId) {
    return api.get(`/ai/sessions/${sessionId}/statistics`)
  }
}

export const chatAPI = {
  // AI对话
  chat(userInput, sessionId) {
    return api.post('/ai/chat', {
      user_input: userInput,
      session_id: String(sessionId)
    })
  },
  
  // 搜索对话内容
  search(keyword, sessionId = null, page = 1, size = 20) {
    return api.post('/ai/search', {
      keyword,
      session_id: sessionId ? String(sessionId) : null,
      page,
      size
    })
  }
}

export default api